docs(oddkit-sales): correct referral credit expiry policy (clock starts at metering launch)#215
Merged
Merged
Conversation
The live oddkit.dev page and the previous canon both said 'credits expire 6 months from issuance.' Operator clarified the actual policy: credits expire at the end of each billing cycle (monthly), and the clock does not start until metering is live for the user. Pre-metering credits accumulate indestructibly until the user's first metered cycle, at which point usable_after and expires_at populate together. This fix: - Updates the credit_ledger schema to add usable_after + expires_at - Rewrites §Referrals to specify the three states (pre-metering, at-metering-launch, post-metering steady state) - Names the 12-per-year cap as enforced at coupon-application time - Aligns the policy with the metering-blind internal commitment already in §Internal commitments The companion oddkit.dev page copy is fixed in a parallel PR against klappy/oddkit. Both must land before Lovable builds the redemption logic.
Canon Quality — Frontmatter Schema ✅All 41 file(s) in Validator: |
Canon Quality —
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Both the live oddkit.dev page and the canon doc that landed in #214 said 'credits expire 6 months from issuance.' Operator clarified the actual policy: credits expire at the end of each billing cycle, and the clock does NOT start until metering is live for the user (policy A from the planning session).
This updates:
credit_ledgerschema: addsusable_after TIMESTAMPTZ+expires_at TIMESTAMPTZPaired with klappy/oddkit#TBD which updates the customer-facing copy.
Both must land before Lovable builds the redemption logic — otherwise customer promise and system enforcement diverge from day one.
Note
Low Risk
Docs-only updates that change the specified referral credit lifecycle and schema expectations; risk is limited to potential downstream implementation mismatch if other components were built against the old 6-month-from-issuance assumption.
Overview
Updates the unified launch plan to change the promised referral credit expiry policy: credits now expire at the end of the billing cycle they attach to, and the expiry clock does not start until metering is live for the user.
Adjusts the documented
credit_ledgerschema to addusable_afterandexpires_at(and indexes on them), and rewrites the referrals section to explicitly define pre-metering, metering-launch, and post-metering behaviors plus how the 12 free-months/year cap is enforced at coupon-application time.Reviewed by Cursor Bugbot for commit 4176f1e. Bugbot is set up for automated code reviews on this repo. Configure here.